查看原文
其他

推荐:常见NLP模型的代码实现(基于TensorFlow和PyTorch)

黄海广 机器学习初学者 2022-05-16

推荐github上的一个NLP代码教程:nlp-tutorial,教程中包含常见的NLP模型代码实现(基于TensorFlow和Pytorch),而且教程中的大多数NLP模型都使用少于100行代码。


教程说明

这是使用TensorFlow和Pytorch学习NLP(自然语言处理)的教程,把常用NLP模型用不到100行的代码实现了,教程里附论文下载,并且包含py和ipynb文件,经过测试全部通过。

仓库地址:

https://github.com/graykode/nlp-tutorial

里面有使用说明和样例(py和ipynb格式)。

注意:论文下载请“阅读原文”。

教程目录

1. Basic Embedding Model(基础嵌入模型)

1-1. NNLM(Neural Network Language Model)- Predict Next Word

  • 论文下载

A Neural Probabilistic LanguageModel(2003)

  • 代码实现

 NNLM_Tensor.ipynb, NNLM_Torch.ipynb


1-2. Word2Vec(Skip-gram) - EmbeddingWords and Show Graph

  •  论文下载

Distributed Representations of Wordsand Phrases and their Compositionality(2013)

  • 代码实现

Word2Vec_Tensor(NCE_loss).ipynb,Word2Vec_Tensor(Softmax).ipynb,Word2Vec_Torch(Softmax).ipynb


1-3. FastText(Application Level)- Sentence Classification

  • 论文下载

Bag of Tricks for Efficient Text Classification(2016)

  •  代码实现

FastText.ipynb

2. CNN(卷积神经网络)

2-1. TextCNN - BinarySentiment Classification

  • 论文下载

Convolutional Neural Networks for SentenceClassification(2014)

  • 代码实现

TextCNN_Tensor.ipynb, TextCNN_Torch.ipynb


2-2. DCNN(Dynamic Convolutional Neural Network)

3. RNN(循环神经网络)

3-1. TextRNN - Predict NextStep

  • 论文下载

Finding Structure in Time(1990)

  • 代码实现

TextRNN_Tensor.ipynb, TextRNN_Torch.ipynb


3-2. TextLSTM - Autocomplete

  • 论文下载

LONG SHORT-TERM MEMORY(1997)

  • 代码实现

TextLSTM_Tensor.ipynb, TextLSTM_Torch.ipynb

3-3. Bi-LSTM - Predict NextWord in Long Sentence

  • 代码实现

Bi_LSTM_Tensor.ipynb, Bi_LSTM_Torch.ipynb

4. Attention Mechanism(注意力机制)

4-1. Seq2Seq - Change Word

  •  论文下载

Learning Phrase Representations using RNN Encoder–Decoder for Statistical MachineTranslation(2014)

  • 代码实现

Seq2Seq_Tensor.ipynb, Seq2Seq_Torch.ipynb


4-2. Seq2Seq with Attention - Translate

  • 论文下载

NeuralMachine Translation by Jointly Learning to Align and Translate(2014)

  • 代码实现

Seq2Seq(Attention)_Tensor.ipynb,Seq2Seq(Attention)_Torch.ipynb


4-3. Bi-LSTM with Attention - BinarySentiment Classification

  • 代码实现

Bi_LSTM(Attention)_Tensor.ipynb,Bi_LSTM(Attention)_Torch.ipynb

5. Model based on Transformer(Transformer模型)

5-1. The Transformer - Translate

  • 论文下载

Attention Is All You Need(2017)

  • 代码实现

Transformer_Torch.ipynb, Transformer(Greedy_decoder)_Torch.ipynb


5-2. BERT - ClassificationNext Sentence & Predict Masked Tokens

  • 论文下载

BERT: Pre-training of Deep Bidirectional Transformers for LanguageUnderstanding(2018)

  • 代码实现

    BERT_Torch.ipynb

部分内容截图


TextCNN的两种实现方式(使用TensorFlow和Pytorch)



总结

推荐github上的一个NLP代码教程:nlp-tutorial,一个使用TensorFlow和Pytorch学习NLP(自然语言处理)的教程,教程中的大多数NLP模型都使用少于100行代码实现。

仓库地址:

https://github.com/graykode/nlp-tutorial

里面有使用说明和样例(py和ipynb格式)。

仓库作者:Tae Hwan Jung(Jeff Jung)

注意:论文下载请“阅读原文”

本站简介↓↓↓ 

“机器学习初学者”是帮助人工智能爱好者入门的个人公众号(创始人:黄海广)

初学者入门的道路上,最需要的是“雪中送炭”,而不是“锦上添花”。

本站的知识星球(黄博的机器学习圈子)ID:92416895

目前在机器学习方向的知识星球排名第一(上图二维码)


往期精彩回顾

备注:本站qq群:865189078(共8个群,不用重复加)。加入本站微信群,请加黄博的助理微信说明:公众号用户加群。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存